Dynamic content may be delivered and presented to users across packet-based networks, such as the Internet. Dynamic content generally refers to content that continuously or nearly continuously changes over time (i.e., content with a temporal dimension), such as audio and/or visual content. When sent over a packet-based network, such dynamic content may be, for example, downloaded content that is fully transmitted to a client system before the client system presents the content. Alternatively, such dynamic content may be, for example, streaming content such as streaming audio and/or video. Streaming content generally refers to content that is sent as a continuous stream and presented as it is received at a client system. Thus, a user of a client system that is receiving streaming content does not wait until the content is fully downloaded before the dynamic content is presented, as is the case for downloaded content. Rather, the client system receiving streaming content usually downloads and buffers a portion of the dynamic content. The client system then presents the buffered portion as the rest of the dynamic content is downloading.
Streaming content may be sent from a pre-encoded (or otherwise pre-prepared) file (referred to as “on-demand” streaming) or may be distributed as part of a live broadcast feed (referred to as “live” streaming). For live streaming, a live broadcast feed is typically encoded into a compressed digital signal as the broadcast feed is received, for example, by an encoder and the encoded signal is transmitted from a server that is able to do multicast; that is, able to send the same signal to multiple client systems at the same time. The broadcast feed may depict live activity (that is, activity occurring as the feed is broadcasted) or may depict previously recorded activity.
Different segments of dynamic content may be coupled together to form a collection of dynamic content. In addition, different types of dynamic content may be coupled together to form a collection of different types of dynamic content. The different types of dynamic content may include, for example, programming content and advertising content. Programming content is generally the editorial content that a user desires to have presented. Advertising content is generally any other content besides the editorial content and is typically content that promotes particular services or goods. Advertising content may be, for example, previews for programming content being offered in the future (referred to as “previews”), an indication of the source of programming content (referred to as “branding”), or promotions to buy or otherwise acquire specific products or services (referred to as “advertisements”).
The different types of dynamic content may be coupled in a collection such that they are presented sequentially or simultaneously. For example, advertisements may be presented sequentially with programming content, while branding may be presented simultaneously with programming content by being, for instance, overlaid on the programming content or presented next to the programming content.